package com.performax.database.oh2game.mapper;

import java.util.*;


import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.performax.database.Vo.*;


@Repository(value="accountInfoMapper")
public interface AccountInfoMapper {
	AccountInfoVo 	getAccountInfo(@Param("userId")String userId);
	AccountInfoVo 	getSdkAccountInfo(HashMap<String, Object> param);
	
	String			getAccountAuthMailInfo(@Param("userId")String userId);
	
	List<UserAuthInfoVo> getAccountAuthkey(HashMap<String, Object> param);
	List<UserAuthInfoVo> getSdkAccountAuthkey(HashMap<String, Object> param);
	void updAuthKey(HashMap<String, Object> param);
	void updAuthKeyExpireDt(HashMap<String, Object> param);
	int checkExistUser(@Param("userId")String userId);
	AccountInfoVo getAccountInfoByPhone(String phone);
	
	DeviceVo	getDeviceInfo(@Param("gid") String gid, @Param("phone") String phone);
	void insertUserInfo(AccountInfoVo accntVo);
	void insertProfile(AccountInfoVo accntVo);
	int insertDevice(DeviceVo deviceVo);
	void insertUserDevice(HashMap<String, Object> hUserDeviceInfo);
	
	void insertSdkUserInfo(AccountInfoVo accntVo);
	void insertSdkUserDevice(HashMap<String, Object> hUserDeviceInfo);
	
	
	void updateUserPushKey(HashMap<String, Object> param);
	
	HashMap<String, Object> getSmsAuthNo(@Param("phone") String phone);
	void					completeSmsAuth(@Param("phone") String phone, @Param("authNo") String authNo);
	void					updatePassword(HashMap<String, Object> param);
	
	int		checkDuplicateNickName(HashMap<String, Object> param);
	
	void	changeNickName(AccountInfoVo accountInfo);
	
}
